#pragma once

#include "..\..\Aspector\Source\Aspector.h"
#include "..\..\Aspector\Source\IAfterReturningAdvice.h"
#include "..\..\Aspector\Source\IMethodBeforeAdvice.h"

class CReferenceCountAdvice:
	public CAdvice<CAllMethodsOfTypePointcut<typeid(CAspectorComObject)>,0>, 
	public IMethodBeforeAdvice,
	public IAfterReturningAdvice
{
public:
	CReferenceCountAdvice()
	{
	}
	void Before(CJoinPoint& joinPoint);
	void AfterReturning(CJoinPoint& joinPoint,int returnValue);
};
